import dotenv from 'dotenv';
import fs from 'fs-extra';
import path from 'path';

/**
 * 加载环境变量配置文件
 * 优先级：.env.{NODE_ENV} > .env
 */
function loadEnvConfig(): void {
  const NODE_ENV = process.env.NODE_ENV;
  const envFile = path.join(process.cwd(), 'config', `.env.${NODE_ENV}`);

  if (fs.existsSync(envFile)) {
    dotenv.config({ path: envFile });
    console.log(`✅ Loaded environment from .env.${NODE_ENV}`);
  } else {
    const defaultEnv = path.join(process.cwd(), 'config', '.env');
    if (fs.existsSync(defaultEnv)) {
      dotenv.config({ path: defaultEnv });
      console.log('⚠️  Loaded default .env file');
    } else {
      console.warn('⚠️  No .env file found, using system environment variables');
    }
  }
}

export default loadEnvConfig;
